/**
 * Copyright 1996-2013 Founder International Co.,Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * @author kenshin
 */
package com.founder.fix.fixflow.core.impl.cmd;



import com.founder.fix.fixflow.core.impl.bpmn.behavior.ProcessDefinitionBehavior;
import com.founder.fix.fixflow.core.impl.interceptor.Command;
import com.founder.fix.fixflow.core.impl.interceptor.CommandContext;
import com.founder.fix.fixflow.core.impl.persistence.ProcessDefinitionManager;

public class GetFlowGraphicsImgPathCmd implements Command<String>{

	/**
	 * 流程定义编号
	 */
	protected String processDefinitionId;
	
	

	public GetFlowGraphicsImgPathCmd(String processDefinitionId) {
		
		
		this.processDefinitionId = processDefinitionId;
		
		
	}

	public String execute(CommandContext commandContext) {

		ProcessDefinitionManager processDefinitionManager = commandContext.getProcessDefinitionManager();
		
		ProcessDefinitionBehavior processDefinition = processDefinitionManager.findLatestProcessDefinitionById(processDefinitionId);
		
		String nowLanguage="defauld";
		//当前语言
		if(commandContext.getProcessEngineConfigurationImpl().getFixFlowResources()!=null){
			nowLanguage=commandContext.getProcessEngineConfigurationImpl().getFixFlowResources().getNowLanguage();
		}
		
		String pathString="fixflowdiagram/"+nowLanguage+"/"+processDefinition.getProcessDefinitionKey()+"/"+processDefinition.getProcessDefinitionId().replace(":","_")+".PNG";
		
		return pathString;
		
		//return CommonNodeToSVG(bpmnShape, new SvgCallActivityTo());
	}
	
	
	
	

}
